package com.example.applyforaid.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class StudentUserExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public StudentUserExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andStuUidIsNull() {
            addCriterion("stu_uid is null");
            return (Criteria) this;
        }

        public Criteria andStuUidIsNotNull() {
            addCriterion("stu_uid is not null");
            return (Criteria) this;
        }

        public Criteria andStuUidEqualTo(String value) {
            addCriterion("stu_uid =", value, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuUidNotEqualTo(String value) {
            addCriterion("stu_uid <>", value, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuUidGreaterThan(String value) {
            addCriterion("stu_uid >", value, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuUidGreaterThanOrEqualTo(String value) {
            addCriterion("stu_uid >=", value, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuUidLessThan(String value) {
            addCriterion("stu_uid <", value, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuUidLessThanOrEqualTo(String value) {
            addCriterion("stu_uid <=", value, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuUidLike(String value) {
            addCriterion("stu_uid like", value, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuUidNotLike(String value) {
            addCriterion("stu_uid not like", value, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuUidIn(List<String> values) {
            addCriterion("stu_uid in", values, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuUidNotIn(List<String> values) {
            addCriterion("stu_uid not in", values, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuUidBetween(String value1, String value2) {
            addCriterion("stu_uid between", value1, value2, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuUidNotBetween(String value1, String value2) {
            addCriterion("stu_uid not between", value1, value2, "stuUid");
            return (Criteria) this;
        }

        public Criteria andStuKeyIsNull() {
            addCriterion("stu_key is null");
            return (Criteria) this;
        }

        public Criteria andStuKeyIsNotNull() {
            addCriterion("stu_key is not null");
            return (Criteria) this;
        }

        public Criteria andStuKeyEqualTo(String value) {
            addCriterion("stu_key =", value, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuKeyNotEqualTo(String value) {
            addCriterion("stu_key <>", value, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuKeyGreaterThan(String value) {
            addCriterion("stu_key >", value, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuKeyGreaterThanOrEqualTo(String value) {
            addCriterion("stu_key >=", value, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuKeyLessThan(String value) {
            addCriterion("stu_key <", value, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuKeyLessThanOrEqualTo(String value) {
            addCriterion("stu_key <=", value, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuKeyLike(String value) {
            addCriterion("stu_key like", value, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuKeyNotLike(String value) {
            addCriterion("stu_key not like", value, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuKeyIn(List<String> values) {
            addCriterion("stu_key in", values, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuKeyNotIn(List<String> values) {
            addCriterion("stu_key not in", values, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuKeyBetween(String value1, String value2) {
            addCriterion("stu_key between", value1, value2, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuKeyNotBetween(String value1, String value2) {
            addCriterion("stu_key not between", value1, value2, "stuKey");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelIsNull() {
            addCriterion("stu_poverty_level is null");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelIsNotNull() {
            addCriterion("stu_poverty_level is not null");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelEqualTo(Integer value) {
            addCriterion("stu_poverty_level =", value, "stuPovertyLevel");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelNotEqualTo(Integer value) {
            addCriterion("stu_poverty_level <>", value, "stuPovertyLevel");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelGreaterThan(Integer value) {
            addCriterion("stu_poverty_level >", value, "stuPovertyLevel");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("stu_poverty_level >=", value, "stuPovertyLevel");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelLessThan(Integer value) {
            addCriterion("stu_poverty_level <", value, "stuPovertyLevel");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelLessThanOrEqualTo(Integer value) {
            addCriterion("stu_poverty_level <=", value, "stuPovertyLevel");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelIn(List<Integer> values) {
            addCriterion("stu_poverty_level in", values, "stuPovertyLevel");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelNotIn(List<Integer> values) {
            addCriterion("stu_poverty_level not in", values, "stuPovertyLevel");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelBetween(Integer value1, Integer value2) {
            addCriterion("stu_poverty_level between", value1, value2, "stuPovertyLevel");
            return (Criteria) this;
        }

        public Criteria andStuPovertyLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("stu_poverty_level not between", value1, value2, "stuPovertyLevel");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeIsNull() {
            addCriterion("stu_verification_time is null");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeIsNotNull() {
            addCriterion("stu_verification_time is not null");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeEqualTo(Date value) {
            addCriterionForJDBCDate("stu_verification_time =", value, "stuVerificationTime");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("stu_verification_time <>", value, "stuVerificationTime");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("stu_verification_time >", value, "stuVerificationTime");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("stu_verification_time >=", value, "stuVerificationTime");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeLessThan(Date value) {
            addCriterionForJDBCDate("stu_verification_time <", value, "stuVerificationTime");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("stu_verification_time <=", value, "stuVerificationTime");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeIn(List<Date> values) {
            addCriterionForJDBCDate("stu_verification_time in", values, "stuVerificationTime");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("stu_verification_time not in", values, "stuVerificationTime");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("stu_verification_time between", value1, value2, "stuVerificationTime");
            return (Criteria) this;
        }

        public Criteria andStuVerificationTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("stu_verification_time not between", value1, value2, "stuVerificationTime");
            return (Criteria) this;
        }

        public Criteria andStuGradeIsNull() {
            addCriterion("stu_grade is null");
            return (Criteria) this;
        }

        public Criteria andStuGradeIsNotNull() {
            addCriterion("stu_grade is not null");
            return (Criteria) this;
        }

        public Criteria andStuGradeEqualTo(Date value) {
            addCriterionForJDBCDate("stu_grade =", value, "stuGrade");
            return (Criteria) this;
        }

        public Criteria andStuGradeNotEqualTo(Date value) {
            addCriterionForJDBCDate("stu_grade <>", value, "stuGrade");
            return (Criteria) this;
        }

        public Criteria andStuGradeGreaterThan(Date value) {
            addCriterionForJDBCDate("stu_grade >", value, "stuGrade");
            return (Criteria) this;
        }

        public Criteria andStuGradeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("stu_grade >=", value, "stuGrade");
            return (Criteria) this;
        }

        public Criteria andStuGradeLessThan(Date value) {
            addCriterionForJDBCDate("stu_grade <", value, "stuGrade");
            return (Criteria) this;
        }

        public Criteria andStuGradeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("stu_grade <=", value, "stuGrade");
            return (Criteria) this;
        }

        public Criteria andStuGradeIn(List<Date> values) {
            addCriterionForJDBCDate("stu_grade in", values, "stuGrade");
            return (Criteria) this;
        }

        public Criteria andStuGradeNotIn(List<Date> values) {
            addCriterionForJDBCDate("stu_grade not in", values, "stuGrade");
            return (Criteria) this;
        }

        public Criteria andStuGradeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("stu_grade between", value1, value2, "stuGrade");
            return (Criteria) this;
        }

        public Criteria andStuGradeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("stu_grade not between", value1, value2, "stuGrade");
            return (Criteria) this;
        }

        public Criteria andStuAcademyIsNull() {
            addCriterion("stu_academy is null");
            return (Criteria) this;
        }

        public Criteria andStuAcademyIsNotNull() {
            addCriterion("stu_academy is not null");
            return (Criteria) this;
        }

        public Criteria andStuAcademyEqualTo(String value) {
            addCriterion("stu_academy =", value, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuAcademyNotEqualTo(String value) {
            addCriterion("stu_academy <>", value, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuAcademyGreaterThan(String value) {
            addCriterion("stu_academy >", value, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuAcademyGreaterThanOrEqualTo(String value) {
            addCriterion("stu_academy >=", value, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuAcademyLessThan(String value) {
            addCriterion("stu_academy <", value, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuAcademyLessThanOrEqualTo(String value) {
            addCriterion("stu_academy <=", value, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuAcademyLike(String value) {
            addCriterion("stu_academy like", value, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuAcademyNotLike(String value) {
            addCriterion("stu_academy not like", value, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuAcademyIn(List<String> values) {
            addCriterion("stu_academy in", values, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuAcademyNotIn(List<String> values) {
            addCriterion("stu_academy not in", values, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuAcademyBetween(String value1, String value2) {
            addCriterion("stu_academy between", value1, value2, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuAcademyNotBetween(String value1, String value2) {
            addCriterion("stu_academy not between", value1, value2, "stuAcademy");
            return (Criteria) this;
        }

        public Criteria andStuNameIsNull() {
            addCriterion("stu_name is null");
            return (Criteria) this;
        }

        public Criteria andStuNameIsNotNull() {
            addCriterion("stu_name is not null");
            return (Criteria) this;
        }

        public Criteria andStuNameEqualTo(String value) {
            addCriterion("stu_name =", value, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuNameNotEqualTo(String value) {
            addCriterion("stu_name <>", value, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuNameGreaterThan(String value) {
            addCriterion("stu_name >", value, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuNameGreaterThanOrEqualTo(String value) {
            addCriterion("stu_name >=", value, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuNameLessThan(String value) {
            addCriterion("stu_name <", value, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuNameLessThanOrEqualTo(String value) {
            addCriterion("stu_name <=", value, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuNameLike(String value) {
            addCriterion("stu_name like", value, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuNameNotLike(String value) {
            addCriterion("stu_name not like", value, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuNameIn(List<String> values) {
            addCriterion("stu_name in", values, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuNameNotIn(List<String> values) {
            addCriterion("stu_name not in", values, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuNameBetween(String value1, String value2) {
            addCriterion("stu_name between", value1, value2, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuNameNotBetween(String value1, String value2) {
            addCriterion("stu_name not between", value1, value2, "stuName");
            return (Criteria) this;
        }

        public Criteria andStuGenderIsNull() {
            addCriterion("stu_gender is null");
            return (Criteria) this;
        }

        public Criteria andStuGenderIsNotNull() {
            addCriterion("stu_gender is not null");
            return (Criteria) this;
        }

        public Criteria andStuGenderEqualTo(Boolean value) {
            addCriterion("stu_gender =", value, "stuGender");
            return (Criteria) this;
        }

        public Criteria andStuGenderNotEqualTo(Boolean value) {
            addCriterion("stu_gender <>", value, "stuGender");
            return (Criteria) this;
        }

        public Criteria andStuGenderGreaterThan(Boolean value) {
            addCriterion("stu_gender >", value, "stuGender");
            return (Criteria) this;
        }

        public Criteria andStuGenderGreaterThanOrEqualTo(Boolean value) {
            addCriterion("stu_gender >=", value, "stuGender");
            return (Criteria) this;
        }

        public Criteria andStuGenderLessThan(Boolean value) {
            addCriterion("stu_gender <", value, "stuGender");
            return (Criteria) this;
        }

        public Criteria andStuGenderLessThanOrEqualTo(Boolean value) {
            addCriterion("stu_gender <=", value, "stuGender");
            return (Criteria) this;
        }

        public Criteria andStuGenderIn(List<Boolean> values) {
            addCriterion("stu_gender in", values, "stuGender");
            return (Criteria) this;
        }

        public Criteria andStuGenderNotIn(List<Boolean> values) {
            addCriterion("stu_gender not in", values, "stuGender");
            return (Criteria) this;
        }

        public Criteria andStuGenderBetween(Boolean value1, Boolean value2) {
            addCriterion("stu_gender between", value1, value2, "stuGender");
            return (Criteria) this;
        }

        public Criteria andStuGenderNotBetween(Boolean value1, Boolean value2) {
            addCriterion("stu_gender not between", value1, value2, "stuGender");
            return (Criteria) this;
        }

        public Criteria andStuDeletedIsNull() {
            addCriterion("stu_deleted is null");
            return (Criteria) this;
        }

        public Criteria andStuDeletedIsNotNull() {
            addCriterion("stu_deleted is not null");
            return (Criteria) this;
        }

        public Criteria andStuDeletedEqualTo(Boolean value) {
            addCriterion("stu_deleted =", value, "stuDeleted");
            return (Criteria) this;
        }

        public Criteria andStuDeletedNotEqualTo(Boolean value) {
            addCriterion("stu_deleted <>", value, "stuDeleted");
            return (Criteria) this;
        }

        public Criteria andStuDeletedGreaterThan(Boolean value) {
            addCriterion("stu_deleted >", value, "stuDeleted");
            return (Criteria) this;
        }

        public Criteria andStuDeletedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("stu_deleted >=", value, "stuDeleted");
            return (Criteria) this;
        }

        public Criteria andStuDeletedLessThan(Boolean value) {
            addCriterion("stu_deleted <", value, "stuDeleted");
            return (Criteria) this;
        }

        public Criteria andStuDeletedLessThanOrEqualTo(Boolean value) {
            addCriterion("stu_deleted <=", value, "stuDeleted");
            return (Criteria) this;
        }

        public Criteria andStuDeletedIn(List<Boolean> values) {
            addCriterion("stu_deleted in", values, "stuDeleted");
            return (Criteria) this;
        }

        public Criteria andStuDeletedNotIn(List<Boolean> values) {
            addCriterion("stu_deleted not in", values, "stuDeleted");
            return (Criteria) this;
        }

        public Criteria andStuDeletedBetween(Boolean value1, Boolean value2) {
            addCriterion("stu_deleted between", value1, value2, "stuDeleted");
            return (Criteria) this;
        }

        public Criteria andStuDeletedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("stu_deleted not between", value1, value2, "stuDeleted");
            return (Criteria) this;
        }

        public Criteria andStuEmailIsNull() {
            addCriterion("stu_email is null");
            return (Criteria) this;
        }

        public Criteria andStuEmailIsNotNull() {
            addCriterion("stu_email is not null");
            return (Criteria) this;
        }

        public Criteria andStuEmailEqualTo(String value) {
            addCriterion("stu_email =", value, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuEmailNotEqualTo(String value) {
            addCriterion("stu_email <>", value, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuEmailGreaterThan(String value) {
            addCriterion("stu_email >", value, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuEmailGreaterThanOrEqualTo(String value) {
            addCriterion("stu_email >=", value, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuEmailLessThan(String value) {
            addCriterion("stu_email <", value, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuEmailLessThanOrEqualTo(String value) {
            addCriterion("stu_email <=", value, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuEmailLike(String value) {
            addCriterion("stu_email like", value, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuEmailNotLike(String value) {
            addCriterion("stu_email not like", value, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuEmailIn(List<String> values) {
            addCriterion("stu_email in", values, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuEmailNotIn(List<String> values) {
            addCriterion("stu_email not in", values, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuEmailBetween(String value1, String value2) {
            addCriterion("stu_email between", value1, value2, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuEmailNotBetween(String value1, String value2) {
            addCriterion("stu_email not between", value1, value2, "stuEmail");
            return (Criteria) this;
        }

        public Criteria andStuClassIdIsNull() {
            addCriterion("stu_class_id is null");
            return (Criteria) this;
        }

        public Criteria andStuClassIdIsNotNull() {
            addCriterion("stu_class_id is not null");
            return (Criteria) this;
        }

        public Criteria andStuClassIdEqualTo(String value) {
            addCriterion("stu_class_id =", value, "stuClassId");
            return (Criteria) this;
        }

        public Criteria andStuClassIdNotEqualTo(String value) {
            addCriterion("stu_class_id <>", value, "stuClassId");
            return (Criteria) this;
        }

        public Criteria andStuClassIdGreaterThan(String value) {
            addCriterion("stu_class_id >", value, "stuClassId");
            return (Criteria) this;
        }

        public Criteria andStuClassIdGreaterThanOrEqualTo(String value) {
            addCriterion("stu_class_id >=", value, "stuClassId");
            return (Criteria) this;
        }

        public Criteria andStuClassIdLessThan(String value) {
            addCriterion("stu_class_id <", value, "stuClassId");
            return (Criteria) this;
        }

        public Criteria andStuClassIdLessThanOrEqualTo(String value) {
            addCriterion("stu_class_id <=", value, "stuClassId");
            return (Criteria) this;
        }

        public Criteria andStuClassIdLike(String value) {
            addCriterion("stu_class_id like", value, "stuClassId");
            return (Criteria) this;
        }

        public Criteria andStuClassIdNotLike(String value) {
            addCriterion("stu_class_id not like", value, "stuClassId");
            return (Criteria) this;
        }

        public Criteria andStuClassIdIn(List<String> values) {
            addCriterion("stu_class_id in", values, "stuClassId");
            return (Criteria) this;
        }

        public Criteria andStuClassIdNotIn(List<String> values) {
            addCriterion("stu_class_id not in", values, "stuClassId");
            return (Criteria) this;
        }

        public Criteria andStuClassIdBetween(String value1, String value2) {
            addCriterion("stu_class_id between", value1, value2, "stuClassId");
            return (Criteria) this;
        }

        public Criteria andStuClassIdNotBetween(String value1, String value2) {
            addCriterion("stu_class_id not between", value1, value2, "stuClassId");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}